An interface to the diagonal matrix multiplication routines.
Performs the matrix operation C=αAop(B)+βC or C=αop(B)A+βC where A is a diagonal matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | lside |
A logical flag indicating if the diagonal matrix is on the left. |
||
logical, | intent(in) | :: | trans |
A logical flag indicating if the matrix B should be transposed. |
||
real(kind=real64), | intent(in) | :: | alpha |
The scalar α to multiply the product of A and B. |
||
real(kind=real64), | intent(in), | dimension(:) | :: | a |
The diagonal matrix A in the operation. |
|
real(kind=real64), | intent(in), | dimension(:,:) | :: | b |
The matrix B in the operation. |
|
real(kind=real64), | intent(in) | :: | beta |
The scalar β to multiply the matrix C. |
||
real(kind=real64), | intent(inout), | dimension(:,:) | :: | c |
The matrix C in the operation. |
|
class(errors), | intent(inout), | optional, | target | :: | err |
An error object to report any errors that occur. |
Performs the matrix operation B=αAB or B=αBA where A is a diagonal matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | lside |
A logical flag indicating if the diagonal matrix is on the left. |
||
real(kind=real64), | intent(in) | :: | alpha |
The scalar α to multiply the product of A and B. |
||
real(kind=real64), | intent(in), | dimension(:) | :: | a |
The diagonal matrix A in the operation. |
|
real(kind=real64), | intent(inout), | dimension(:,:) | :: | b |
The matrix B in the operation. |
|
class(errors), | intent(inout), | optional, | target | :: | err |
An error object to report any errors that occur. |
Performs the matrix operation C=αAop(B)+βC or C=αBA+βC where A is a diagonal matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | lside |
A logical flag indicating if the diagonal matrix is on the left. |
||
logical, | intent(in) | :: | trans |
A logical flag indicating if the matrix B should be transposed. |
||
real(kind=real64), | intent(in) | :: | alpha |
The scalar α to multiply the product of A and B. |
||
complex(kind=real64), | intent(in), | dimension(:) | :: | a |
The diagonal matrix A in the operation. |
|
real(kind=real64), | intent(in), | dimension(:,:) | :: | b |
The matrix B in the operation. |
|
real(kind=real64), | intent(in) | :: | beta |
The scalar β to multiply the matrix C. |
||
complex(kind=real64), | intent(inout), | dimension(:,:) | :: | c |
The matrix C in the operation. |
|
class(errors), | intent(inout), | optional, | target | :: | err |
An error object to report any errors that occur. |
Performs the matrix operation C=αAop(B)+βC or C=αop(B)A+βC where A is a diagonal matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | lside |
A logical flag indicating if the diagonal matrix is on the left. |
||
integer(kind=int32), | intent(in) | :: | opb |
An integer flag indicating the operation to perform on matrix B. Possible options are:
|
||
real(kind=real64), | intent(in) | :: | alpha |
The scalar α to multiply the product of A and B. |
||
complex(kind=real64), | intent(in), | dimension(:) | :: | a |
The diagonal matrix A in the operation. |
|
complex(kind=real64), | intent(in), | dimension(:,:) | :: | b |
The matrix B in the operation. |
|
real(kind=real64), | intent(in) | :: | beta |
The scalar β to multiply the matrix C. |
||
complex(kind=real64), | intent(inout), | dimension(:,:) | :: | c |
The matrix C in the operation. |
|
class(errors), | intent(inout), | optional, | target | :: | err |
An error object to report any errors that occur. |
Performs the matrix operation C=αAop(B)+βC or C=αop(B)A+βC where A is a diagonal matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | lside |
A logical flag indicating if the diagonal matrix is on the left. |
||
integer(kind=int32), | intent(in) | :: | opb |
An integer flag indicating the operation to perform on matrix B. Possible options are:
|
||
complex(kind=real64), | intent(in) | :: | alpha |
The scalar α to multiply the product of A and B. |
||
complex(kind=real64), | intent(in), | dimension(:) | :: | a |
The diagonal matrix A in the operation. |
|
complex(kind=real64), | intent(in), | dimension(:,:) | :: | b |
The matrix B in the operation. |
|
complex(kind=real64), | intent(in) | :: | beta |
The scalar β to multiply the matrix C. |
||
complex(kind=real64), | intent(inout), | dimension(:,:) | :: | c |
The matrix C in the operation. |
|
class(errors), | intent(inout), | optional, | target | :: | err |
An error object to report any errors that occur. |
Performs the matrix operation B=αAB or B=αBA where A is a diagonal matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | lside |
A logical flag indicating if the diagonal matrix is on the left. |
||
complex(kind=real64), | intent(in) | :: | alpha |
The scalar α to multiply the product of A and B. |
||
complex(kind=real64), | intent(in), | dimension(:) | :: | a |
The diagonal matrix A in the operation. |
|
complex(kind=real64), | intent(inout), | dimension(:,:) | :: | b |
The matrix B in the operation. |
|
class(errors), | intent(inout), | optional, | target | :: | err |
An error object to report any errors that occur. |
Performs the matrix operation C=αAop(B)+βC or C=αop(B)A+βC where A is a diagonal matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | lside |
A logical flag indicating if the diagonal matrix is on the left. |
||
integer(kind=int32), | intent(in) | :: | opb |
An integer flag indicating the operation to perform on matrix B. Possible options are:
|
||
complex(kind=real64), | intent(in) | :: | alpha |
The scalar α to multiply the product of A and B. |
||
real(kind=real64), | intent(in), | dimension(:) | :: | a |
The diagonal matrix A in the operation. |
|
complex(kind=real64), | intent(in), | dimension(:,:) | :: | b |
The matrix B in the operation. |
|
complex(kind=real64), | intent(in) | :: | beta |
The scalar β to multiply the matrix C. |
||
complex(kind=real64), | intent(inout), | dimension(:,:) | :: | c |
The matrix C in the operation. |
|
class(errors), | intent(inout), | optional, | target | :: | err |
An error object to report any errors that occur. |
Performs the matrix operation B=αAB or B=αBA where A is a diagonal matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | lside |
A logical flag indicating if the diagonal matrix is on the left. |
||
complex(kind=real64), | intent(in) | :: | alpha |
The scalar α to multiply the product of A and B. |
||
real(kind=real64), | intent(in), | dimension(:) | :: | a |
The diagonal matrix A in the operation. |
|
complex(kind=real64), | intent(inout), | dimension(:,:) | :: | b |
The matrix B in the operation. |
|
class(errors), | intent(inout), | optional, | target | :: | err |
An error object to report any errors that occur. |
Performs the matrix operation B=αAB or B=αBA where A is a diagonal matrix and B is a sparse matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(in) | :: | lside | |||
real(kind=real64), | intent(in) | :: | alpha | |||
real(kind=real64), | intent(in), | dimension(:) | :: | a | ||
class(csr_matrix), | intent(inout) | :: | b | |||
class(errors), | intent(inout), | optional, | target | :: | err |